Mapping, classifying, and integrating diverse street network datasets: new methods and open source tools for active travel planning

GISRUK 2025

Robin Lovelace

Leeds Institute for Transport Studies, University of Leeds, UK

Zhao Wang

Leeds Institute for Transport Studies, University of Leeds, UK

Hussein Mahfouz

Leeds Institute for Transport Studies, University of Leeds, UK

Juan Pablo Fonseca Zamora

Leeds Institute for Transport Studies, University of Leeds, UK

Angus Calder

Sustrans Scotland

Martin Lucas-Smith

CycleStreets Ltd, Cambridge, UK

Dustin Carlino

Alan Turing Institute, London, UK

Josiah Parry

Environmental Systems Research Institute (Esri), Redlands, CA, USA

Rosa Félix

University of Lisbon

April 23, 2025

Abstract

Evidence on street networks and their potential changes under future scenarios is crucial for active travel planning. However, most active travel models rely on oversimplified street representations, using single variables like ‘quietness’, neglecting key factors such as footway widths. This paper introduces new methods for classifying street networks for active travel, integrating diverse datasets from OpenStreetMap and official sources. Implemented in open source software packages osmactive and anime, these methods are scalable and reproducible. The results are showcased in a web application hosted at www.npt.scot, demonstrating how geographic data science can drive high-impact research.

network analysis, transport planning, OpenStreetMap, active travel, reproducible research

Introduction

Network Planning Tool (NPT) for Scotland

Web app deployed at npt.scot for cycle network planning in Scotland.

Cycling by Design

The bible of Scottish cycling infrastructure planning.

Available at transport.gov.scot.

Key features of the NPT

  • Funded by Transport Scotland to support £millions of investment in active travel.
  • Developed by the University of Leeds in collaboration with Sustrans Scotland.
  • Open-source and hosted at github.com/nptscot.
  • Integration of multiple layers into a single tool.
  • Overcoming limitations of previous strategic network planning tools.
  • Brings together more than a dozen datasets, including Ordnance Survey Mastermap and OpenStreetmap data products.
  • Presents new geographic methods developed to support this work.
  • Uses osmactive R package and anime Rust crate.

Streetspace layer

See live demo at npt.scot.

Key technical challenges

graph TD
  subgraph data_sources ["Data Sources"]
    direction TB
    OS_MasterMap_Topo["OS MasterMap Topo"]
    OS_MasterMap_Highways_Source["OS MasterMap Highways"]
    OSM_Source["OpenStreetMap"]
  end

  subgraph processing_integration ["Processing & Integration"]
    direction TB
    Pavement_Polygons["Pavement polygons"]
    Pavement_Widths["Pavement widths"]
    Highway_Widths["Highway widths, Hierarchy, .."]
    OSM_Derived["Max Speed, Type, ..."]
  end

  subgraph output_layer ["Output Layer"]
    direction TB
    OSM_Los["Level of Service layer"]
    OS_OpenRoads["Streetspace layer"]

  end

  OS_MasterMap_Topo --> Pavement_Polygons
  Pavement_Polygons --> Pavement_Widths
  OS_MasterMap_Highways_Source --> Highway_Widths
  OSM_Source --> OSM_Derived
  Highway_Widths --> OSM_Los

  Pavement_Widths --> OS_OpenRoads
  Highway_Widths --> OS_OpenRoads
  OSM_Derived --> OS_OpenRoads
  OSM_Derived --> OSM_Los


  style data_sources fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000
  style processing_integration fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000
  style output_layer fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000

  %% Style definitions for better colors
  style OS_MasterMap_Topo fill:#f9f,stroke:#333,stroke-width:2px,color:#000
  style OS_MasterMap_Highways_Source fill:#f9f,stroke:#333,stroke-width:2px,color:#000
  style OSM_Source fill:#f9f,stroke:#333,stroke-width:2px,color:#000

  style Pavement_Polygons fill:#ccf,stroke:#333,stroke-width:2px,color:#000
  style Pavement_Widths fill:#ccf,stroke:#333,stroke-width:2px,color:#000
  style Highway_Widths fill:#ccf,stroke:#333,stroke-width:2px,color:#000
  style OSM_Derived fill:#ccf,stroke:#333,stroke-width:2px,color:#000

  style OS_OpenRoads fill:#9cf,stroke:#333,stroke-width:2px,color:#000

  %% Style definition for the main graph background
  classDef default fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000

Datasets and methods

Datasets

  • Ordnance Survey OpenRoads
  • OS MasterMap Highways
  • OS Mastermap Topography
  • OpenStreetMap
  • NRS (National Records of Scotland) data on travel to school
  • NRS data on travel to work (Data Zone level)
  • Scottish Household Survey (SHS) data
  • National Travel Survey (NTS) data
  • Data from spatial interaction models (SIMs)

Software

Code is available and maintained at github.com/nptscot

  • Backend written in R

  • Frontend of NPT web application written in ‘vanilla’ JavaScript

  • NPW (Network Planning Workspace) web application written in Rust and Svelte

  • See nptscot.github.io/npw

  • mastermapr R package for importing MasterMap datasets

  • osmactive R package for classifying OSM data

  • anime Rust crate for network integration

Key functions

  • Functions including get_travel_network() and classify_cycle_infrastructure() from the osmactive package.
  • Classify cycle infrastructure types based on the presence of cycle lanes, tracks, and other features.
  • distance_to_road() function to calculate distances to roads.
  • get_pavement_widths() function to calculate pavement widths
  • get_bus_routes() function to determine bus lanes
  • classify_cycle_infrastructure() function to classify cycle infrastructure

Live demo: getting active travel network data

remotes::install_github("nptscot/osmactive")
library(osmactive)
osm = get_travel_network("bristol")
cycle_net = get_cycling_network(osm)
drive_net = get_driving_network(osm)
cycle_net = distance_to_road(cycle_net, drive_net)
cycle_net = classify_cycle_infrastructure(cycle_net)

Integration with Geocomputation with R stack

tmap::tmap_mode("view")
plot_osm_tmap(cycle_net)

Road width measurements

  • Carriageway width and corridor width are key measurements.
  • Carriageway width determines if infrastructure can fit within the carriageway.
  • Corridor width captures carriageway plus roadside features.
  • Corridor width determines if footway can be reallocated for cycle infrastructure.
  • Cycling by Design (CbD) guidance on widths and buffers.
  • Speed limit data from OSM used for buffer widths.

Bus routes and road traffic assumptions

  • Minimum space requirements for motor traffic depend on bus routes and lanes.
  • Active Travel England cross section check tool.
  • get_bus_routes() function in osmactive package.

Results

Network Planning Tool for Scotland

  • Web application for strategic cycle network planning available at npt.scot.
  • Key components:
    • Route network layer
    • Existing cycle network quality layer (requires data integration methods presented)
    • Street space layer (requires data integration methods presented)
    • Core network layer
    • Results feed into Network Planning Workspace (NPW) web application (https://nptscot.github.io/npw/)

Future work

  • Improve NPT by incorporating new datasets.
  • Develop context-specific classifications in osmactive package.
  • Support roll-out of methods in new places.